
using System;

namespace SpotifyGenNHibernate.EN.Spotify
{
        public class ColaReproduccionEN
        {
        /**
         *
         */

        private int idCola;

        /**
         *
         */

        private int numeroCanciones;

        /**
         *
         */

        private System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.CancionEN> cancion;

        /**
         *
         */

        private Spotify.UsuarioEN usuario;





        public virtual int IdCola { get { return idCola; } set { idCola = value;  } }


        public virtual int NumeroCanciones { get { return numeroCanciones; } set { numeroCanciones = value;  } }


        public virtual System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.CancionEN> Cancion { get { return cancion; } set { cancion = value;  } }


        public virtual Spotify.UsuarioEN Usuario { get { return usuario; } set { usuario = value;  } }



        public ColaReproduccionEN()
        {
        }



        public ColaReproduccionEN(int idCola, int numeroCanciones, System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.CancionEN> cancion, Spotify.UsuarioEN usuario)
        {
                this.init (idCola, numeroCanciones, cancion, usuario);
        }


        public ColaReproduccionEN(ColaReproduccionEN colaReproduccion)
        {
                this.init (colaReproduccion.IdCola, colaReproduccion.NumeroCanciones, colaReproduccion.Cancion, colaReproduccion.Usuario);
        }

        private void init (int idCola, int numeroCanciones, System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.CancionEN> cancion, Spotify.UsuarioEN usuario)
        {
                this.IdCola = IdCola;


                this.NumeroCanciones = numeroCanciones;

                this.Cancion = cancion;

                this.Usuario = usuario;
        }

        public override bool Equals (object obj)
        {
                if (obj == null)
                        return false;
                ColaReproduccionEN t = obj as ColaReproduccionEN;
                if (t == null)
                        return false;
                if (IdCola.Equals (t.IdCola))
                        return true;
                else
                        return false;
        }

        public override int GetHashCode ()
        {
                int hash = 13;

                hash += (null == IdCola ? 0 : this.IdCola.GetHashCode ());
                return hash;
        }
        }
}
